"use strict";

$(function(){

	/*----------------------------------------------------
	 * 用户资料编辑单体对象
	 * 参数说明：
	 * 1、参数data为用户数据对象
	 * 2、方法dyVerifiable动态验证input输入框的值
	 * 3、方法submit是提交数据函数，该函数带有默认参数data（data为用户数据对象）
	 ---------------------------------------------------*/
	//创建对象
	var editUserdata={
		"tipEl":".btn-text",
		"errHTML":"<i class='iconfont icon-cuowu'></i>",
		"sucHTML":"<i class='iconfont icon-jiuxu'></i>",
		"errClass":"turnErr",
		"sucClass":"turnSuccess",
		"data":{},  //用户数据
		
		//动态验证方法
		"dyVerifiable":function(){
			$(".con-body").on("keyup",":text",function(){
				var value=$(this).val().trim();
				var id=$(this).attr("id");
				var el=$(this).parents(".input-row");
				var tip={
					"el":"#"+id,
					"re":Re[id],
					"errEl":el,
					"val":value,
				};
				
				if(id==="name"){
					tip.empty="名字不能为空！";
					tip.err="名字格式错误！";
				}
				
				if(id==="email"){
					tip.empty="邮箱不能为空！";
					tip.err="邮箱错误！";
				}
				
				if(id==="phone"){
					tip.empty="手机不能为空！";
					tip.err="手机号码格式错误！";
				}
				
				Global.checkInput(tip);
				
			});

		},
		
		//表单提交方法
		"submit":function(el,fn){
			var that=this;
			$(el).on("click",function(){
				var name=$("#name").val().trim();
				var email=$("#email").val().trim();
				var phone=$("#phone").val().trim();
				var flag=true;

				//check name
				if(name==="" || name===null){
					Global.showTip("#name","名字不能为空！");
					flag=false;
				}
				else if(!Re.name.test(name)){
					Global.showTip("#name","名字格式错误！");
					flag=false;
				}

				//check email
				if(email==="" || email===null){
					Global.showTip("#email","邮箱不能为空！");
					flag=false;
				}
				else if(!Re.email.test(email)){
					Global.showTip("#email","邮箱错误！");
					flag=false;
				}
				
				//check phone
				if(phone==="" || phone===null){
					Global.showTip("#phone","手机不能为空！");
					flag=false;
				}
				else if(!Re.phone.test(phone)){
					Global.showTip("#phone","手机号码格式错误！");
					flag=false;
				}
				
				//如果全部验证通过执行fn();
				if(flag){ 
					var $arr=$(".con-body :text");
					
					//打包用户数据
					$.each($arr, function(i) {
						that.data[$arr.eq(i).attr("name")]=$arr.eq(i).val().trim();
					});
					
					fn(that.data); 
				}
				else{
					Global.submitTip(that.tipEl,that.errClass,that.errHTML);
				}
			});
		},
	};
	
	//执行动态验证
	editUserdata.dyVerifiable();
	
	//提交表单
	editUserdata.submit(".submit",function(data){
		
		//data是存放用户数据的对象
		/*
		 * 数据data的格式如以下对象：
		 * var data={
		 * 	 name: "1564", 
		 *   email: "1654964@qq.com", 
		 *   phone: "13254544846", 
		 *   password: "123456", 
		 *   userType: "1"
		 * }
		 */
		console.log(data);
		
		/*
		//ajax提交用户数据
		$.ajax({
			type:'post',
			url:'',
			data:data,
			dataType:'json',
			success:function(data){
				//do something!
			}
		});*/
		
		//以下代码在ajax请求成功后执行
		var that=editUserdata;
		Global.submitTip(that.tipEl,that.sucClass,that.sucHTML);
	});
	
});